package com.bee.bootstrap.formDesign.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.bee.common.core.jsonview.JsonViews;
import com.fasterxml.jackson.annotation.JsonView;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;
import java.util.Date;

@TableName("core_form_template")
@Data
public class FormTemplate extends Model<FormTemplate> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value="id", type= IdType.ID_WORKER)
    private Long id;

    /**
     * 表单名称
     * @return
     */
    @NotBlank(message = "表单名称不允许为空")
    @TableField("form_name")
    private String formName;

    /**
     * 表单类型
     * @return
     */
    @TableField("form_type")
    private String formType;

    /**
     * 表单模板
     * @return
     */
    @TableField("form_template")
    private String formTemplate;
    /**
     * 表单状态
     * @return
     */
    private String status;
    /**
     * 创建者
     */
    @TableField("create_user_id")
    private Long createUserId;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 有效时间
     */
    @TableField("update_time")
    private Date updateTime;

    private transient String statusView;

    private transient String createUserView;

    //查询条件不展示
    @JsonView(JsonViews.Private.class)
    private transient String formCreateUserQuery;
    @JsonView(JsonViews.Private.class)
    private transient String formNameQuery;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
